home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / Convert_VB339301182001.psc / ODL Converter / Classes / SCLanguages.cls < prev    next >
Encoding:
Visual Basic class definition  |  2001-11-08  |  2.2 KB  |  85 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "SCLanguages"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = False
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15. Private m_colLangauges As Collection
  16.  
  17. Public Property Get Count() As Long
  18.     Count = m_colLangauges.Count
  19. End Property
  20.  
  21. Public Property Get Item(Index As Variant) As SCLanguage
  22. Attribute Item.VB_UserMemId = 0
  23.     Set Item = m_colLangauges(Index)
  24. End Property
  25.  
  26. Public Property Get NewEnum() As stdole.IUnknown
  27. Attribute NewEnum.VB_UserMemId = -4
  28. Attribute NewEnum.VB_MemberFlags = "440"
  29.     Set NewEnum = m_colLangauges.[_NewEnum]
  30. End Property
  31.  
  32. Public Function Add(Name As String, Optional Engine As SCLangEngine) As SCLanguage
  33. Declarations:
  34.     Dim m_sclLanguage As SCLanguage
  35. Try:
  36.     On Error GoTo Catch
  37.     Set m_sclLanguage = New SCLanguage
  38.     With m_sclLanguage
  39.         '//Select the Language namespace
  40.         Set .Collection = Me
  41.             '//Set the parent collection
  42.         .Name = Name
  43.             '//Set the name.
  44.         If Not Engine Is Nothing Then _
  45.             Set .Engine = Engine
  46.             '//If the engine is present, then...
  47.                 '//Set the reference.
  48.         m_colLangauges.Add m_sclLanguage, Name
  49.     End With
  50. Finally:
  51.     '//Cleanup
  52.     Set Add = m_sclLanguage
  53.         '//Return the language reference.
  54.     Set m_sclLanguage = Nothing
  55.         '//Destroy the reference
  56.     GoTo EndTry
  57.         '//Exit
  58. Catch:
  59.     Set m_sclLanguage = Nothing
  60.         '//Destroy current reference.
  61.     Set Add = Nothing
  62.     '//Make sure it's nothing
  63. EndTry:
  64.     Exit Function
  65.         '//Exit the procedure safely
  66. End Function
  67.  
  68. Public Sub Remove(Index As Variant)
  69.     m_colLangauges.Remove Index
  70. End Sub
  71.  
  72. Public Sub Clear()
  73.     Do Until Count = 0
  74.         m_colLangauges.Remove 1
  75.     Loop
  76. End Sub
  77.  
  78. Private Sub Class_Initialize()
  79.     Set m_colLangauges = New Collection
  80. End Sub
  81.  
  82. Private Sub Class_Terminate()
  83.     Set m_colLangauges = Nothing
  84. End Sub
  85.